Snobol4【1】 语言实战:Markdown【2】 链接清洗【3】实战
Markdown 是一种轻量级标记语言,常用于格式化文本【4】。在Markdown文档中,链接可能会包含一些不必要的字符或格式,使得链接看起来杂乱无章。本文将使用 Snobol4 语言,一种古老的编程语言,来编写一个简单的链接清洗程序,以提升Markdown文档的整洁度。
Snobol4 简介
Snobol4 是一种高级编程语言,由David J. Farber、Ralph E. Griswold 和 Ivan P. Polonsky 在1962年设计。它以其强大的字符串处理【5】能力而闻名,特别适合于文本处理任务。Snobol4 的语法简洁,易于理解,但同时也具有一定的挑战性。
链接清洗需求分析
在Markdown文档中,链接通常以以下格式出现:
[链接文本](链接地址 "链接标题")
我们的目标是清洗这些链接,使其符合以下格式:
[链接文本](链接地址)
清洗过程中需要移除链接标题的引号【6】和空格【7】。
Snobol4 链接清洗程序
以下是一个使用 Snobol4 编写的链接清洗程序:
```snobol
:input
:output
input: line
output: line
line: [^[]! line { [^[]! line } ]
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { " " } ] }
| [^[]! line { [^[]! line { "
Comments NOTHING