转自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.

自己创造一种计算机语言,创建你自己的编程语言相关推荐

  1. 物联网方面用哪种计算机语言,物联网学习及理解 - 编程语言

    物联网学习及理解(来自一个物联网专业学生的心得)什么是物联网 物联网能做什么一.物联网运用领域 二.物联网发展趋势 物联网怎么实现一.局域网内的物联网 二.广域网内的物联网 总结 在开始写这篇博客之前 ...

  2. 虚拟现实技术利用计算机,虚拟现实 虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生...

    虚拟现实 虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟环境是一种多源信息融合的交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中. 中文名 虚拟现实,灵境 ...

  3. 五种方法创建 Java 对象,你知道几种呢?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 网络 五种方法创建java对象 作为Java开 ...

  4. 使用三种方式创建Class字节码类文件对象

    /*** 使用三种方式创建Class字节码类文件对象** @author silence*/ public class Demo1 {public static void main(String[] ...

  5. html是一种用于创建网页的标准标记语言,html

    HTML.XML.XHTML 有什么区别? HTML是一种用于创建网页的国际通用的标准标记语言,用来展示数据:XML是一种标记语言,由相关人士自由决定的标记语言,即语言的可拓展性,设计用来传输及携带数 ...

  6. python开发直播网站_开发直播网站源码的三种计算机语言

    直播网站源码开发所用的语言,根据未来运营平台不同,其选择也不同.一般来说,如果是PC后台,那么会采用PHP语言编写,如果是在安卓上开发,则选择Java语言,如果是在iOS上开发,则采用object-c ...

  7. 6种方式创建多层索引MultiIndex

    49_6种方式创建多层索引MultiIndex 公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 在上一篇文章中介绍了如何创建Pandas中的单层索引,今天给大家带来的是 ...

  8. 十分钟,学会使用js三种方法创建本地json数据文件

    前言 在干业务时,需要得到一份全国省市到街道的区划数据,刚好业务中连接了高德地图,高德地图又提供了区划的api,这下只需要把数据写到json里了.什么!你说你还不会用js创建json文件?没关系,只需 ...

  9. 编程大牛Eric Raymond对几种计算机语言的评价

    编程新手都有一个同样的问题:我应该学习哪一种语言?. <Unix编程艺术>(Eric Raymond著)第十四章,对各种语言进行了评价,正好可以用来回答这个问题.下面是知名IT博客阮一峰的 ...

最新文章

  1. python是不是特别垃圾-【转】python是垃圾吗?
  2. JNI学习积累之一 ---- 常用函数大全
  3. 只能是做的HTML5审批流项目
  4. Image Cup,我和几位师兄一起奋战!
  5. ILSpy 6.0 Preview 1 发布,.NET 反编译工具
  6. 安卓开发监听外部蓝牙设备断开_这软件能让你的蓝牙耳机,用上 AirPods 的功能...
  7. 2018.11.07-1015-幸运字符串查询 (lucky)
  8. Ubuntu系统搭建以太坊开发平台过程
  9. msp430的两本书 电子版【worldsing笔记】
  10. vector的earse造成迭代器失效的问题
  11. 关于Ultraiso无法写入硬盘映像的相关解决办法
  12. 激活函数选取不当为什会造成梯度消失
  13. 微信公众平台 微接口 接口100 API100 接口大全(转) 开发微信功能简便了
  14. AI基础:机器学习库Scikit-learn的使用
  15. 天是岸:优秀的网络营销推广人,身上一般都具备这7大特质
  16. 第2章 关系数据库(数据库系统概论)
  17. tekton TriggerTemplate资源
  18. 找到能立刻开始的下一步行动 |进击
  19. leetcode:1168. 水资源分配优化【思维转换 + 最小生成树】
  20. DPI-1047:Cannot locate a 64-bit Oracle Client library:The specified module could not be found

热门文章

  1. VMware16的安装以及VMware安装Linux(CentOS7)虚拟机教程(超详细)
  2. android 短信数据库 双卡,关于android双卡手机sim卡信息采集适配的心得
  3. 如何使用html+css+js 实现动态新年烟花特效及服务器部署
  4. 长城坦克SUV携Hi4-T越野超级混动架构亮相2023上海车展
  5. Altium19在原理图中选中器件,PCB中对应器件飞到鼠标下,跟随鼠标,怎么解决?
  6. 51单片机c语言LED灯闪烁实验,实验一LED灯闪烁
  7. 一个系统,如何在独居老人发生意外的时候,争分夺秒帮老人脱困!在外子女如何照料好老人?有你智居智慧居家养老系统给你答案。
  8. 【积沙成塔】Android 环境下编译后出现乱码错误的情况
  9. 如果你看到钟的时间是3 15 那一刻时针和分针的夹角是多少 肯定不是0度 Google 谷歌 百度 baid
  10. java中什么是泛化_JAVA泛化及為什么需要泛化