240 投稿
收录了16篇文章 · 3人关注
  • 编译原理——流程控制

    前言:感觉之前的内容写的不好,很散很乱。因为之前强行把文章拆成两个部分:原理和代码实现,不应该这样,应该边写代码,写叙述原理。 0X00 if ...

  • 编译原理——函数!

    前言:函数的实现又是一个难点,我们一点一点攻破! 0X00 函数调用 按照惯例我们写出函数调用的「文法」: 这样的文法可以匹配这样的函数调用: ...

  • 编译原理——变量!

    前言:我们要到编译原理比较难的地方了,我们开始在我们的语言 Lox 中,实现「变量」! 0X00 基本原理 这是我们实现的第三个语句,所以我们要...

  • 编译原理——让我们输出「I Love You」

    前言:更一更「编译原理」,这篇文章的主要目的是执行 print "I Love You!" 0X00 基本原理 在之前我们实现了一个「计算器」,...

  • 抽象语法树的执行

    前言:在上一篇博客中,我们已经实现了一个计算式的抽象语法树。这一篇博客主要完成计算式的抽象语法树的执行,达到实现一个计算器的目的 0X00 原理...

  • 如何将 token 流转换成抽象语法树(上)

    前言:之前我们不是太艰难地将字符流转换成了 token 流,今天我们将尝试将 token 流转换成「抽象语法树」,本系列博客大部分内容来自 ht...

  • 编译原理——如何将字符流转换为 token 流

    前言:好吧,开始对编译器下手了。。。本系列博客大部分内容来自 http://www.craftinginterpreters.com/,以下只是...

  • Resize,w 360,h 240
    LR(1) 分析算法

    前言:我把学习「编译原理」的整个重心放在了前端上,前八周的课我已经看完了。现在是补博客的时间,语法分析的算法很多,慢慢梳理吧,今天复习「LR(1...

  • Resize,w 360,h 240
    语法分析——LR(0) 分析算法

    前言:语法分析算法挺多的,LR(0) 算法是一个经典的「自底向上」的语法分析算法 0X00 自底向上分析的基本思想 首先我们来看一下「自底向上分...

  • 语法分析——FOLLOW 集合

    前言:学习编译原理就是被各种算法虐 0X00 FOLLOW 集合介绍 首先感性地认识一下什么是 FOLLOW 集合 假如有这么一些生成式规则: ...