很早就实现过一个例子,实际上只是一个小小的修改。

读取 变量; { 读取一个变量值 } 如果 变量 > 0 那么 { 只有变量为正数时才计算 } 结果 := 1; 循环 结果 := 结果 * 变量; 变量 := 变量 - 1 直到 变量 = 0; 输出 结果 { 输出输入变量的乘阶 } 结束

最近又不知道是哪根神经被触动了。 可能是前段时间经常有人在我面前提起易语言,又有人再说研究编译器吧。 无论是易语言还是后来搜索到另一个不错中文脚本解释实现,都不是我喜欢的。 而最近看 j2ee 却经常看到 Ruby,心里就痒痒的了。 自己就想也设计一种编程语言吧。 嗯,也无所谓自然语言的选择。 无论 Lua 还是 Ruby 不都还是用的英语么? 只是想到了,所以干脆就用自己的母语吧。 昏头昏脑思考了三天,大致想到几个关键点。 一个就是初中的几何题,大致就是用中文规范书写算法的一个标准样式。 然后就想到几何的公理和定理,公理是语言的基本实现,定理则是扩展,比如 C 的函数和宏。 嗯,再就自然是 Literate Programming 文学编程的概念。 一本几何书就是这样组成的。 一种编程语言大致就是描述一种想法。 嗯,怎样用一种很浅显直观又符合自己习惯的方式描述那些已知的算法。 这样的话,前期的语言设计工具就完成了。 估计会和 perl 一样有相当冗余的语法,也应该只有泛型变量。 所以只能是一种解释语言吧,搞不好就是 perl 的一个变体。