前端DSL与AST深入浅出,阿里一哥,介绍DSL与AST的运行原理与机制,在实际编程语言解析到执行中是如何运用DSL和AST相关知识的,并根据学习的知识,我们可以自己定义一套DSL,通过解析AST实现自己需要的功能。本课程也会结合babel转换JSX的语法插件实例介绍在前端领域中如何应用AST实现灵活的处理各种语言的处理。
【大纲】
第1章:DSL与AST相关基础概念
1. 介绍DSL与AST类比编译原理
2. 类比NLP介绍DSL与AST
3. DSL与AST定义讲解
4. 在线演示解析Javascript为AST
第2章:DSL与AST原理与运用
1. DSL与AST原理与项目应用
2. DSL的词法解析与语法解析
第3章:手写CSS语法解析器
1 手写CSS词法解析器
2 CSS语法解析器
第4章:学习Babel插件实现原理
1 介绍babel插件实现流程和原理
2 基于esprima和babylon实现代码解析和生成
3 编写babel插件(1)
4 编写并测试babel插件(2)
第5章:基于peg.js实现PT代码转换
13 PT和AST以及文法基础知识
14 peg文法和peg.js介绍
15 peg.js将JavaScript的代码中的if函数转换成三元表达式
16 peg.js实现四算法则计算器
第6章:实现基于http的code loader
17 介绍浏览器原生es module loader
18 基于peg解析import和export模块实战
19 实现ES6模块基于http加载并执行实战 适用人群:建议先学习ES5、ES6基础知识,本节课讲解AST与DSL在解析编程语言中的原理与应用。