莎士比亚语言(二)
2008-05-01 02:09AM | Comments(0) | Category:Compiler | Tags:language
在继续分析源程序之前,先说说如何表示常量数字。任何 名词 是一个常量数字 1 或 -1,取决于这个名词是否 nice, 囧。例如,"flower" 是 1,因为 flower 是 nice 的;"pig"是 -1,因为 pig 很脏;中性词,例如 "tree",记为 1。
有 n 个形容词修饰名词,就意味着此名词代表的常量数字乘以
。
举个例子:
the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece.
莎士比亚语言(一)
2008-05-01 02:05AM | Comments(0) | Category:Compiler | Tags:language
这几天在网上查找关于 GCC 前端的资料,偶然发现一个很有趣的编程语言%mdash%mdash莎士比亚 语言。作者发明这个语言,最初是作为语法分析课的课程设计,所以没有编译器,只有一个 C 语言的翻译器。现在已经有一个外国人为此语言写了一个 GCC 前端。我特地找来了此语言的文档翻看了一下,大囧,不愧为世界十大另类语言之一。
我们来看看著名的 莎士比亚版 Hello World。
%nbsp第一行是 标题 ,只起装饰作用,对翻译器来说,相当于注释。
The Infamous Hello World Program.
%nbsp以下四行是剧本中出场的人物。他们相当于变量,可以保存有符号的整数值。
%nbsp当然你只能使用莎士比亚剧本中的角色作为变量名。
%nbsp逗号后面是对角色的描述,相当于注释。