我开始了一个有趣的项目 - 为字母表中的每个字母收集一个"hello World"程序.例如Ada for A,Boo for B,C++ for C,D for D,Erlang for E,等等
但我有点卡住我找不到任何以字母Q,U和Y开头的编程语言
任何语言的人,最好不是来自esolang wiki?
更新:
以防万一有兴趣我已完成我的收藏并 在我的博客中提供
Brainfuck以其极小的编译器而闻名.我有一个非常小的设备,可能无法适应其数据中最小的脑圈编译器.是否有一种深奥的编程语言甚至比brainfuck更小的编译器并且是一种图灵完整的语言? 这已经老了,但是请随时提出自己的答案,我会检查
我已经看到了一些关于stackoverflow用户最喜欢的深奥(或不是)编程语言的问题.还有关于语言实施的问题.但是,我很想知道你们中是否有人真正编写了自己的编程语言(无论是否是深奥的),我也想知道它是什么样的.
我喜欢阅读并尝试学习新的和创造性的语言,所以我认为看看stackoverflow社区提供什么是很好的.:)
几年前我写了一篇很有趣的文章.
根据规范,
黑色块和程序边缘限制程序流程.如果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,因此,根据我的阅读,序列应为:
跟踪指示的行为似乎是DP一直旋转,使CC保持在LEFT状态.
我误解了什么?
上学期大学时,我的计算机语言课程老师教给我们一种名为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) 这是一个非常奇怪且非常具体的问题.
最终我正在尝试编写一个程序转换,它接受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) Befunge 的设计目标之一是难以编译。然而,它很容易解释。可以用传统语言编写解释器,比如 C。要将 Befunge 程序翻译成等效的机器代码,可以将 Befunge 代码硬编码到 C 解释器中,并将生成的 C 程序编译为机器代码。或者“编译”是否意味着排除这种翻译的更受限制的东西?
我在为codegolf.se实现brainfuck汇编程序时遇到了麻烦.我设法将一个字符串加载到内存中找到它的长度cat it out,打印字符串n次等,但我似乎无法将非小写数字加载到内存中.所以让我们采取以下循环执行一些魔法.(散列标记是调试标记.)
#,#[>#<[<]<<#+#>>>[>]#,#]<[<]
Run Code Online (Sandbox Code Playgroud)
它从指针512开始,并将字符串作为ascii值写入512之后的点
#,#[>#<[<]<<#+#>>>[>]#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中解决的问题.
根据Homespring 提出的语言标准,逆流而上的鲑鱼需要在鱼点上执行“对河流系统的有序搜索……以找到与鲑鱼同名的河流节点”(第 6.4.2 节)。问题是河流节点存储在 n 叉树中,所以我不确定如何对这棵树进行有序搜索。谷歌搜索没有找到任何相关信息,维基百科页面甚至没有提到任何类型的遍历。是否可以按顺序遍历 k 叉树?
我正在尝试围绕编程语言Hexagony。我查看了一些示例程序,并尝试编写一个简单的程序来读取 input 和 print Hey [input]!。这就是我所拥有的。
, < . . C $
. . { . # . ;
. . . # . . 2 '
. . . . # C 3 < .
. # . # . . * . ; .
. E . . E . ; . . > /
= . . . } y . . 3 .
. . . . ; . . 3 .
. …Run Code Online (Sandbox Code Playgroud) brainfuck ×2
algorithm ×1
assembly ×1
befunge ×1
compilation ×1
inorder ×1
java ×1
memory ×1
mnemonics ×1
piet ×1
python ×1
tree ×1
while-loop ×1
whitespace ×1