主要观点:tbsp 是类似 awk 的基于 tree-sitter 语法树的语言,可用于编写 markdown-to-html 转换器等。
关键信息:
- tbsp 程序以 stanza 形式编写,有“BEGIN”“END”等 stanza 用于开始和结束处理,还有“enter”“leave”条款用于节点进入和离开时的操作。
- 通过 tree-sitter-md 解析 markdown 并可视化,如示例中的 markdown 结构。
- tbsp 评估器用 rust 编写,可通过 cargo 构建和运行,需三个输入:tbsp 程序、语言、输入文件或 stdin 文本。
重要细节: - “BEGIN”stanza 中设置深度变量用于跟踪 markdown 标题嵌套,开始打印 html 标签。
- “enter atx_heading”stanza 打印 h1 等标签,“leave atx_heading”打印结束标签。
- “enter inline”stanza 打印节点文本。
- 示例目录有完整 markdown-to-html 转换器及其他示例。
- roadmap 包括提升 interpreter 性能(如引入 hir、字节码 VM 等)、模式匹配(支持树-sitter 查询和捕获等)、添加语言特征(数组、循环、访问节点子节点等)。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。