爱德丝

浏览计数器

1599

莎士比亚语言(二)

2008-05-01 02:09AM | Comments(0) | Category:Compiler | Tags:

在继续分析源程序之前,先说说如何表示常量数字。任何 名词 是一个常量数字 1 或 -1,取决于这个名词是否 nice, 囧。例如,"flower" 是 1,因为 flower 是 nice 的;"pig"是 -1,因为 pig 很脏;中性词,例如 "tree",记为 1。

有 n 个形容词修饰名词,就意味着此名词代表的常量数字乘以 $2^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:

这几天在网上查找关于 GCC 前端的资料,偶然发现一个很有趣的编程语言%mdash%mdash莎士比亚 语言。作者发明这个语言,最初是作为语法分析课的课程设计,所以没有编译器,只有一个 C 语言的翻译器。现在已经有一个外国人为此语言写了一个 GCC 前端。我特地找来了此语言的文档翻看了一下,大囧,不愧为世界十大另类语言之一。

我们来看看著名的 莎士比亚版 Hello World。

%nbsp第一行是 标题 ,只起装饰作用,对翻译器来说,相当于注释。

The Infamous Hello World Program.

%nbsp以下四行是剧本中出场的人物。他们相当于变量,可以保存有符号的整数值。
%nbsp当然你只能使用莎士比亚剧本中的角色作为变量名。
%nbsp逗号后面是对角色的描述,相当于注释。