Hacker News | 📄 原文链接 | 2026-09-27 收录

解析表达式文法 vs 正则:用 Lisp 写一个 Org 转 HTML 的解析器

来源:jointhefreeworld.org — 65 分 · by jjba23

📋 概述

作者分享了自己用 Guile Scheme 的 (ice-9 peg) 解析 Org mode 并转成 HTML 的项目 OrgWebAlchemy。他一开始写的是朴素正则表达式,很快发现要处理 Org 这种嵌套与上下文相关的语法,正则根本不够用,于是转向解析表达式文法(PEG),并用 GNU 的 ice-9 peg 模块实现。整体管线是 Org → PEG → AST → SXML → HTML,目标是在不启动 Emacs 的前提下把 Org 文档导出成 HTML 并嵌进自己的项目;他同时坦率说明 AI 帮助他理解 PEG 并调试,但代码结构、单元测试与手工验证(以及大量打印 AST)都是自己的工作,源码托管在 Codeberg。

🔑 核心要点

💡 金句

我一开始写了一些朴素的正则来解析 Org mode,但很快就意识到,要达成我想要的目标,我需要比正则更聪明的东西。
← 返回 Hacker News 首页