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

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

  • 词法解析器 帮助我们从源码中分析出Markdown规定的规则
  • 语法分析器 帮助我们根据词法分析器分析出来的进行语法分析,也就是根据词法拼接‘句子’
Markdown源码是怎么被解析的之二:站在上帝的角度看整体代码_第1张图片
基础流程

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

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

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

现在是这样的流程:

Markdown源码是怎么被解析的之二:站在上帝的角度看整体代码_第2张图片
内联解析器

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

class Lexer {
  
}

class Parser {
  
}

class InlineLexer {

}

你可能感兴趣的:(Markdown源码是怎么被解析的之二:站在上帝的角度看整体代码)