[译] 用javascript实现一门编程语言-前言

原文链接: lisperator.net/pltut/

这个教程将会教你实现一个编程语言。如果你以前亲自实现过编程语言,那么直接跳过这个教程就可以了。但是,如果你一直用正则表达式来解析一些看起来像编程语言的字符串等东西,那请你认真学习本课程,至少也要读完解析这一章。下面让我们一起写bug吧(^_^)!

目录

  1. 用javascript实现一门编程语言-前言
  2. 用javascript实现一门编程语言-语言构想
  3. 用javascript实现一门编程语言-写一个解析器
  4. 用javascript实现一门编程语言-字符输入流

上面的目录是到达各个章节的快捷方式,但是我还是强烈建议不要跳跃任何章节,除非你已经熟知每一个主题讲的内容。

在本教程中你会学到什么?

  • 什么是解析器 (parser) ?如何写一个解析器?
  • 如何写一个解释器 (interpreter)?
  • 为什么连续 (continuations) 那么重要?
  • 写一个编译器
  • 如何将代码转换成延续传递风格 (continuation-passing style)?
  • 一些基本的优化技术
  • 一些关于相比较普通javascript所增加的新特性的示例

在教程中,我会去证明 Lisp 是一个伟大的编程语言。但是,我们不会去实现另一个 Lisp。我们的语言会有丰富的语法,除了可以像宏一样,还可以像 Scheme 一样强大。

下一节,让我们遐想一下,我们的语言会有什么特性。

转载于:https://juejin.im/post/5b592f3d6fb9a04fdf39e73c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值