转自http://felix.plesoianu.ro/scratch-lang/
这是一个共有5部分的教程,教你如何实现自己的编程语言.它主要面向一些有编程经验,而又想知道编译器、解释器、虚拟机如何工作的人。 偷偷告诉你吧,其它这没什么神秘的。
这个教程包括很多文章和书. 我是基于两个原则写的:
简单容易,任何编程人员都易于理解;
每一部分的结尾都要有一个很好的解释说明.
读者希望有一定的编程知识, 尤其是关于对象、数据结构以及变量域. 知道一些JAVASCRIPT有得于理解文章中的示例代码。
目录
Part 0: 动机— DRAFT 1 — 2008-10-09
Part 1: 数字和词 — DRAFT 2 — 2008-09-06 (source code for part 1)
Part 2: 变量、字符串和评论 — DRAFT — 2008-09-07 (source code for part 2)
Part 3: 用户定义的词语 — DRAFT — 2009-05-17 (source code for part 3)
Part 4: 控件结构— DRAFT — 2009-06-07 (source code for part 4)
Part 5: 总结— DRAFT — 2009-06-07
Appendix A: a practical implementation — WORK IN PROGRESS — 2010-06-14
每一部分都有一个javascript的实现来帮助理解. 代码可以在 Opera 9.5+, Firefox 3, WebKit 和Konqueror上正常运行.
申明
Alex Bolboacă has been kind enough to review parts of the tutorial.
Syntax highlighting of the code samples is powered by JUSH.