Markdown源码是怎么被解析的之二:站在上帝的角度看整体代码

既然要理解Markdown源码是怎样被处理的,我们需要先仔细思考一下一个Markdown编译器应该有什么构成:

  • 词法解析器 帮助我们从源码中分析出Markdown规定的规则
  • 语法分析器 帮助我们根据词法分析器分析出来的进行语法分析,也就是根据词法拼接‘句子’
基础流程

在Markdown里面有块级元素和内联元素的区别,块级元素有有序列表、无序列表、引用、标题、段落等,内联元素有强调、斜体等。

块级解析器供词法解析器进行调用,分析出来各种块级的元素,这就是词法所需要做的事情。

内联解析器供语法解析器调用来实现内联的元素的解析。

现在是这样的流程:

内联解析器

OK,让我们敲一下代码吧,ES6的语法。

class Lexer {
  
}

class Parser {
  
}

class InlineLexer {

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • 简介网络浏览器很可能是使用最广的软件。在这篇入门文章中,我将会介绍它们的幕后工作原理。我们会了解到,从您在地址栏输...
    wengjq阅读 6,357评论 2 15
  • 1. 介绍 浏览器可能是最广泛使用的软件。本书将介绍浏览器的工作原理。我们将看到,当你在地址栏中输入google....
    康斌阅读 6,200评论 7 18
  • 转载说明 一、介绍 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入g...
    17碎那年阅读 7,106评论 0 22
  • 简介浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.c...
    听风阁阅读 8,518评论 0 7