Snobol4 语言 实战 Markdown 链接清洗实战

Snobol4阿木 发布于 5 天前 3 次阅读


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 { "