Snobol4【1】 语言实战:Markdown【2】 列表项转换为数组【3】
Snobol4 是一种古老的编程语言,它最初在1962年由Calvin Mooers 设计。尽管它已经不再广泛使用,但它在历史上对编程语言的发展有着重要的影响。本文将探讨如何使用 Snobol4 语言来实现一个实用的功能:将 Markdown 列表项转换为数组。这个过程不仅能够帮助我们了解 Snobol4 的语法和特性,还能展示如何将这种古老的语言应用于现代编程任务。
Snobol4 简介
Snobol4 是 Snobol(StriNg Oriented and symBOlic Language)语言家族的第四个版本。它是一种字符串处理【4】语言,特别适合于文本处理【5】任务。Snobol4 的语法简洁,易于理解,但同时也非常强大。它使用一系列的模式和规则来匹配和操作字符串。
Markdown 列表项转换为数组的需求
Markdown 是一种轻量级标记语言【6】,常用于格式化文本。Markdown 列表项通常以以下格式表示:
- 项目1
- 项目2
- 项目3
我们的目标是使用 Snobol4 语言编写一个程序,将上述 Markdown 列表项转换为数组,其中每个数组元素代表一个列表项。
Snobol4 程序设计【7】
为了实现这个功能,我们需要编写一个 Snobol4 程序,该程序能够:
1. 读取输入【8】的 Markdown 列表项。
2. 识别列表项的开始和结束。
3. 将每个列表项转换为数组元素。
4. 输出【9】转换后的数组。
以下是一个简单的 Snobol4 程序示例,它实现了上述功能:
```snobol
:input
input line
:start
|'-'| $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1+ $ 1
Comments NOTHING