标签: esoteric-languages

语言中的"Hello World"以Q,U和Y开头

我开始了一个有趣的项目 - 为字母表中的每个字母收集一个"hello World"程序.例如Ada for A,Boo for B,C++ for C,D for D,Erlang for E,等等

但我有点卡住我找不到任何以字母Q,UY开头的编程语言

任何语言的人,最好不是来自esolang wiki?

更新:

以防万一有兴趣我已完成我的收藏并 在我的博客中提供

programming-languages esoteric-languages

6
推荐指数
1
解决办法
637
查看次数

图灵完整语言中最小的编译器可能吗?

Brainfuck以其极小的编译器而闻名.我有一个非常小的设备,可能无法适应其数据中最小的脑圈编译器.是否有一种深奥的编程语言甚至比brainfuck更小的编译器并且是一种图灵完整的语言? 这已经老了,但是请随时提出自己的答案,我会检查

compiler-construction esoteric-languages brainfuck

6
推荐指数
1
解决办法
1433
查看次数

你有写过自己深奥的语言吗?它看起来像什么?

我已经看到了一些关于stackoverflow用户最喜欢的深奥(或不是)编程语言的问题.还有关于语言实施的问题.但是,我很想知道你们中是否有人真正编写了自己的编程语言(无论是否是深奥的),我也想知道它是什么样的.

我喜欢阅读并尝试学习新的和创造性的语言,所以我认为看看stackoverflow社区提供什么是很好的.:)

几年前我写了一篇很有趣的文章.

programming-languages esoteric-languages

5
推荐指数
1
解决办法
618
查看次数

DP和CC如何在Piet中改变?

根据规范,

黑色块和程序边缘限制程序流程.如果Piet解释器尝试移动到黑色块或边缘,则会停止并切换CC.然后解释器再次尝试从其当前块移动.如果第二次失败,则DP顺时针移动一步.重复这些尝试,CC和DP在交替尝试之间改变.如果在八次尝试之后解释器不能离开其当前的颜色块,则没有出路并且程序终止.

除非我不当读书吧,这是在与斐波那契序列例子,这里的行为赔率:http://www.dangermouse.net/esoteric/piet/fibbig1.gif(来源:HTTP://www.dangermouse. net/esoteric/piet/samples.html)

具体来说,为什么当DP击中左边缘时,DP在(0,3)((0,0)为(顶部,左侧))处左转?此时,DP和CC都是LEFT,因此,根据我的阅读,序列应为:

  1. 在(0,4)离开边缘尝试(并且失败)离开块,
  2. 将CC切换到右边,
  3. 尝试(并且失败)通过在(0,2)处离开边缘离开块.
  4. 将DP旋转到UP,
  5. 通过在(1,1)处输入白色块来尝试(并成功)将块保留在(1,2)

跟踪指示的行为似乎是DP一直旋转,使CC保持在LEFT状态.

我误解了什么?

esoteric-languages piet

5
推荐指数
1
解决办法
363
查看次数

你对这些组装助记符有什么建议吗?

上学期大学时,我的计算机语言课程老师教给我们一种名为Whitespace的深奥语言.为了更好地使用非常繁忙的计划(midterms)学习语言,我用Python编写了一个解释器汇编器.一种汇编语言的目的是便于轻松编写程序,以及样本程序与给定的汇编语言编写的助记符.

现在是夏天,一个新的项目已经开始,其目标是重写Whitespace 0.3的翻译和汇编程序,之后会有进一步的发展.由于有很多额外的时间来处理它的设计,因此这里给出的是一个大纲,它为汇编语言提供了一套修订的助记符.这篇文章被标记为维基进行讨论.

你曾经有过汇编语言的经验吗?是否有一些您认为应该重命名为不同的指令?您是否发现自己在盒子外面思考并使用与助记符命名不同的范例?如果您对这些问题的回答都是肯定的,那么欢迎您.主观答案非常感谢!


堆栈操作(IMP:[空格])

堆栈操作是更常见的操作之一,因此IMP [空间]的短缺.有四个堆栈指令.

hold N       Push the number onto the stack
copy         Duplicate the top item on the stack
copy N       Copy the nth item on the stack (given by the argument) onto the top of the stack
swap         Swap the top two items on the stack
drop         Discard the top item on the stack
drop N       Slide n items off the …
Run Code Online (Sandbox Code Playgroud)

python assembly whitespace esoteric-languages mnemonics

5
推荐指数
1
解决办法
686
查看次数

不在Java中使用if语句

这是一个非常奇怪且非常具体的问题.

最终我正在尝试编写一个程序转换,它接受java源代码,并将其转换为不使用它(除其他外)

  • 数组
  • 循环
  • 用户定义的方法
  • 如果声明

这是我为自己设定的挑战,在我的老师告诉我没有使用这些东西后编写程序是不可能的.

我已经解决了大部分问题,包括函数内联和数组替换,但是我无法弄清楚如何管理if语句.

在C++中,我使用标签和gotos,也许?:,但Java不支持GOTO语句.

我的问题是:给出一段代码,

if(CONDITION)
{
   //More code in here
}
Run Code Online (Sandbox Code Playgroud)

如何对其进行转换以使其在功能上相同,但不使用if关键字.请注意,循环结构也是不可能的.

鉴于此,创建else以及if语句会很容易.但是我也不确定如何使用它创建循环,因为没有GOTO语句和方法是不可能的.

编辑:请注意,也不允许切换,也不允许递归(由于无法定义用户方法,并且递归的主函数不适用于每个程序)而排除.?:运算符不适用于所有情况.AFAIK你不能用?:调用void函数,因为它想要将一个值作为其操作的一部分.

这些条件来自IB计算机科学SL需要课程,我正在考虑HL和作为一个班级,我们嘲笑SL的"掌握"因素,其中包括'if'语句(如果其中3/15是'用户定义'具有参数和返回类型的方法)挑战实际上是在SL中进行精通测试,同时仍然生成正常运行的程序.

答案:(由bdares提供)

String result = (CONDITION)?"0":"A";
try{
    Integer.parseInt(result);
    //Condition is true
} catch(NumberFormatException e){
    //Condition is false
}
Run Code Online (Sandbox Code Playgroud)

java esoteric-languages

5
推荐指数
1
解决办法
2252
查看次数

为什么 Befunge 被认为难以编译?

Befunge 的设计目标之一是难以编译。然而,它很容易解释。可以用传统语言编写解释器,比如 C。要将 Befunge 程序翻译成等效的机器代码,可以将 Befunge 代码硬编码到 C 解释器中,并将生成的 C 程序编译为机器代码。或者“编译”是否意味着排除这种翻译的更受限制的东西?

interpreted-language compilation esoteric-languages befunge

5
推荐指数
1
解决办法
661
查看次数

在brainfuck中有效实现while循环

我在为codegolf.se实现brainfuck汇编程序时遇到了麻烦.我设法将一个字符串加载到内存中找到它的长度cat it out,打印字符串n次等,但我似乎无法将非小写数字加载到内存中.所以让我们采取以下循环执行一些魔法.(散列标记是调试标记.)

#,#[>#<[<]<<#+#>>>[>]#,#]<[<] 
Run Code Online (Sandbox Code Playgroud)

它从指针512开始,并将字符串作为ascii值写入512之后的点


现在,如果(无论出于什么原因)我希望删除小写字符,它将在psuedo BF中看起来像这样.

#,#[>#<[<]<<#+#>>>[>]#do{,(takes input and assigns it)}
while(input>=96/*Go arbitrarily to the right for this implementation but
make sure that the first non-lowercase number is stored at the index*/)#
//Also be sure to zero out any temporary cells used
<[<] 
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,我如何实现这样的while循环,同时只使用512右边的空格作为存储并在以后清除它们.

对于那些好奇的人来说,是我想在branfuck中解决的问题.

esoteric-languages while-loop brainfuck

5
推荐指数
1
解决办法
455
查看次数

是否可以按顺序遍历 k 叉树?

根据Homespring 提出的语言标准,逆流而上的鲑鱼需要在鱼点上执行“对河流系统的有序搜索……以找到与鲑鱼同名的河流节点”(第 6.4.2 节)。问题是河流节点存储在 n 叉树中,所以我不确定如何对这棵树进行有序搜索。谷歌搜索没有找到任何相关信息,维基百科页面甚至没有提到任何类型的遍历。是否可以按顺序遍历 k 叉树?

algorithm tree esoteric-languages inorder

5
推荐指数
1
解决办法
2409
查看次数

努力学习六边形

我正在尝试围绕编程语言Hexagony。我查看了一些示例程序,并尝试编写一个简单的程序来读取 input 和 print Hey [input]!。这就是我所拥有的。

     , < . . C $ 
    . . { . # . ; 
   . . . # . . 2 ' 
  . . . . # C 3 < . 
 . # . # . . * . ; . 
. E . . E . ; . . > / 
 = . . . } y . . 3 .
  . . . . ; . . 3 .
   . …
Run Code Online (Sandbox Code Playgroud)

memory esoteric-languages

5
推荐指数
1
解决办法
425
查看次数