Jsoup代码解读之四-parser(上)
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 作为Java世界最好的HTML 解析库,Jsoup的parser实现非常具有代表性。这部分也是Jsoup最复杂的部分,需要一些数据结构、状态机乃至编译器的知识。好在HTML语法不复杂,解析只是到DOM树为止,所以作为编译器入门倒是挺合适的。这一块不要指望囫囵吞枣,我们还是泡一杯咖啡,细细品味其中的奥妙吧。 基础知识 编译器 将计算机语言转化为另一种计算机语言(通常是更底层的语言,例如机器码、汇编、或者JVM字节码)的过程就叫做编译(compile)。编译器(Compiler)是计算机科学的一个重要领域,已经有很多年历史了,而最近各种通用语言层出不穷,加上跨语言编译的兴起、DSL概念的流行,都让编译器变成了一个很时髦的东西。 编译器领域相关有三本公认的经典书籍,龙书 《Compilers: Principles, Techniques, and Tools 》 ,虎书 《Modern Compiler Implementation in X (X表示各种语言)》 ,鲸书 《Advanced Compiler Design and Implementation》 。其中龙书是编译理论方面公认的不二之选,而后面两本则对实践更有指导意义。另外 @装配脑袋 有个很好的编译器入门系列博客: http://www