我用(现在)工作的翻译创建了一个实验性的玩具编程语言。它是turing-complete,并且具有相当低级的指令集。
即使所有内容的代码和时间都比PHP,Python或Ruby多四到六倍,我仍然喜欢编写各种内容。
所以我得到了用许多语言编写的“基本”东西:
Collatz猜想
奎因(这是一个有趣的人!)
所以我实施了上述所有例子,因为:
现在我的问题是:我的想法已经用完了!我没有找到使用我的语言可以解决哪些问题的更多例子。
答案 0 :(得分:4)
从Project Euler尝试一下 - 这些谜题总是适合测试新语言。
答案 1 :(得分:3)
使用语言本身为您的语言实现编译器(使用您所知的任何语言)。
答案 2 :(得分:2)
尝试使用数组和指针实现各种类型的排序和搜索。
答案 3 :(得分:2)
也许是递归的东西?
我自己有两个toy languages。我做了你描述的一些事情。我做的另一件事是尝试打印 Fibonacci序列。你可以做的另一件事是编写一个程序,检查一个数字是否为素数。
您是否有指向您语言的链接?我想查看一下!
答案 4 :(得分:1)
在玩具语言中,我不是要做更多的事情,而是要努力实现一种更完整和有用的语言。特别是花一些时间考虑你不喜欢其他语言的东西,看看你是否无法改进它们。
答案 5 :(得分:1)
您可以考虑为"Shootout"实施测试。
答案 6 :(得分:0)
这可以很好地应用您在http://codekata.pragprog.com/2007/01/code_kata_backg.html#more
找到的项目答案 7 :(得分:0)
编写完一堆简短的应用程序后,编写一个简单的服务器可能会很有趣。许多主题都提供了服务器,可以帮助您确定您的语言是否可以解决UDP / TCP,线程,队列,安全性等问题。
答案 8 :(得分:0)
查看RubyQuiz网站。你可以做很多愚蠢的小事来测试你的语言。
答案 9 :(得分:0)
您可以添加对arbitrary precision arithmetic的支持,方法是将其作为您语言的语言模块或作为第一类语言构造。
答案 10 :(得分:0)
尝试实现真实的东西。例如基于Web的邮件客户端。只是抽象的任务正在蓬勃发展。
答案 11 :(得分:0)
规范数据结构和算法怎么样?还是半规范?例如,我一直想基于radix trie实现关联数组。这看起来很有趣。