标签:解析器
共 4 篇文章
-
CSS 格式化与压缩原理:从词法分析到 minify 算法
深入解析 CSS 格式化与压缩背后的原理:CSS 词法结构、手写 tokenizer 逐字符扫描、递归下降 parser 构建 AST、向前探测区分规则与声明、美化序列化算法、压缩 minify 算法与末尾分号省略、校验常见问题。涵盖嵌套 at-rule、@keyframes、字符串字面量处理、纯原生 TypeScript 实现要点、与 HTML 格式化工具与颜色工具的联动方案。
-
HTML 格式化与压缩原理:从解析模型到 minify 算法
深入解析 HTML 格式化与压缩背后的原理:HTML5 解析模型与容错规则、空白语义、void elements 与可选闭合标签、rawtext 元素特殊处理、递归缩进美化算法、压缩 minify 算法、属性序列化规则、常见校验问题。涵盖 DOMParser 使用、纯原生 TypeScript 实现要点、与 HTML 实体工具与 Markdown 工具的联动方案。
-
JavaScript 格式化与压缩原理:从词法分析到智能缩进
深入解析 JavaScript 格式化与压缩背后的原理:JS 词法结构、手写 tokenizer 逐字符扫描、正则字面量与除法区分、模板字符串与注释处理、基于括号深度的智能缩进算法、压缩 minify 与 ASI 陷阱、校验未闭合括号。涵盖箭头函数、类、多字符运算符、纯原生 TypeScript 实现要点、与 HTML/CSS 格式化工具的联动方案。
-
SQL 格式化与 SQL 解析器设计:词法分析器、token 类型与缩进策略
系统讲解 SQL 格式化工具的实现原理:词法分析器(tokenizer)的状态机设计、9 种 token 类型(空白/注释/字符串/数字/标识符/关键字/标点/参数)、关键字分类策略(主子句/JOIN/AND-OR/函数/数据类型)、缩进引擎(depth 计数器 + 主子句归零 + 子查询递增)、CASE/WHEN 块状缩进、压缩算法、基础语法校验、关键字分色高亮。对比 6 种主流 SQL 美化器(sql-formatter/prettier-plugin-sql/DBeaver/DataGrip/Navicat/Azure Data Studio)的实现差异与功能边界。配套可交互 SQL 工具,帮你彻底搞懂 SQL 解析器设计。