最近修 bug 遇到的一个关于 Entity 编码的 case,从矛盾中出发,不知不觉捋到了编译原理的词法分析相关的问题,还有 WHATWG HTML5 Parsing 的 Spec 的词法分析、语法分析的状态机定义,整理了一篇文发内网,上周收录到了团队的公众号。
奇技淫巧之当你不得不 decode HTML Entity 字符串
整理过程中也发现了一些有趣的东西:
- inikulin/parse5:纯 JS 实现的 WHATWG HTML5 标准解析器
- AST explorer:在线可视化各种语言的程序的 AST
还有一篇写于2011年但还是十分全面的介绍文章,差不多是上文的进一步延伸:
浏览器的工作原理:现代网络浏览器幕后揭秘 - HTML5 Rocks
做个记录与分享,继续抛砖引玉一下~